home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 22 / AACD 22.iso / AACD / Programming / powerd / lib / chunky.lha / chunky_ppc / Conv24ToGrey.ass < prev    next >
Encoding:
Text File  |  1980-01-25  |  478 b   |  35 lines

  1. # Conv24ToGrey(dst:r3:PTR TO chunky,src:r4:PTR TO chunky32)
  2.  
  3.  
  4.     .text
  5.     .global    _Conv24ToGrey
  6.  
  7. _Conv24ToGrey:
  8.     mfctr    r9
  9.  
  10.     lwz    r5,4(r3)
  11.     lwz    r0,0(r3)
  12.     mullw    r5,r5,r0
  13.     lwz    r3,8(r3)        # get dst data address
  14.     lwz    r4,8(r4)        # get src data address
  15.     subi    r3,r3,1
  16.     subi    r4,r4,4
  17.  
  18.     mtctr    r5
  19.     li    r0,3
  20. .loop:    lwzu    r6,4(r4)
  21.     srwi    r7,r6,8
  22.     srwi    r8,r6,16
  23.     andi.    r6,r6,0xff
  24.     andi.    r7,r7,0xff
  25.     andi.    r8,r8,0xff
  26.     add    r6,r6,r7
  27.     add    r6,r6,r8
  28.     divw    r6,r6,r0
  29.     stbu    r6,1(r3)
  30.  
  31.     bdnz    .loop
  32.  
  33.     mtctr    r9
  34.     blr
  35.